﻿using demo.Models;
using demo.Models.DTOs;
using demo.Models.Option;

namespace demo.Interfaces
{
    public interface IProductService
    {

        //先写完，再来改

        //Task<PageResult<List<ProductDto>>> GetProductsAsync(ProductSearchOption productSearchOption);
        Task<int> GetAllProductsCountAsync();
        Task<List<ProductDto>> GetProductsAsync(int page, int pageSize);
        Task<ProductDto> SearchProductAsync(int? id, string name);
        Task<List<ProductDto>> FilterProductsAsync(int? categoryId, int? subCategoryId, decimal? minPurchasePrice, decimal? maxPurchasePrice);
        Task AddProductAsync(AddProductDto productDto);
        Task UpdateProductAsync(UpdateProductDto productDto);
        Task DeleteProductAsync(int productId);



    }
}
